-
Notifications
You must be signed in to change notification settings - Fork 1.4k
manifest: Update sdk-zephyr to bring MPSL flash sync timeout fix #17885
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
The following west manifest projects have been modified in this Pull Request:
Note: This message is automatically posted and updated by the Manifest GitHub Action. |
CI InformationTo view the history of this post, clich the 'edited' button above Inputs:Sources:sdk-nrf: PR head: 4244811b41274afc73ad612d72210c138f03dc73 more detailssdk-nrf:
zephyr:
Github labels
List of changed files detected by CI (7)Outputs:ToolchainVersion: 3dd8985b56 Test Spec & Results: ✅ Success; ❌ Failure; 🟠 Queued; 🟡 Progress; ◻️ Skipped;
|
|
You can find the documentation preview for this PR at this link. It will be updated about 10 minutes after the documentation build succeeds. Note: This comment is automatically posted by the Documentation Publishing GitHub Action. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would suggest to split this PR into two parts:
- Bring in the changes from zephyr
- Start using it
subsys/bluetooth/controller/Kconfig
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think it is a good idea to add an imply here for the SoftDevice Controller. We should rather enable it by default. That being said, we shouldn't enable experimental symbols for default builds
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The symbol was marked as experimental, because it's a temporary solution and we want to eventually drop it without following deprecation policies. From my observations, enabling the option might improve stability and prevent flash operation failures.
If the solution is not accepted NCS-wide, we could enable it e.g. only for applications maintained by us. Still, looking at the possible consequences of the fixed flash issue, I think that it may be reasonable to enable it by default if MPSL flash sync is used together with Bluetooth.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To be honest I prefer imply over overriding Kconfig default here. While using imply, we do not need to worry about Kconfig dependencies. Overriding defaults could actually result in enabling a symbol even though dependencies of the symbol are not met (we would need to maintain the same set of dependencies in place where we override default to ensure consistent behavior).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we could introduce an artificial symbol that would be enabled by default if both SoftDevice and MPSL flash sync are enabled? The symbol could imply the workaround.
subsys/bluetooth/controller/Kconfig
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you doing blocking operations on the system workqueue? It is very much discouraged to block a shared resource.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should look into making the flash API async
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, a lot of applications use system workqueue for flash operations (delegating settings store to system workq was quite common practice). Not sure if we can prevent users from doing it (we would need to e.g. add an execution context assertion to validate the requirement properly).
86c2468 to
91461dc
Compare
|
After discussion with codeowners, we decided not to enable the workaround by default ( btw. CI tests are green even with |
91461dc to
848f3cc
Compare
|
Dropped commit enabling the workaround by default and rebased onto main. |
848f3cc to
a8a9e01
Compare
a8a9e01 to
3904537
Compare
3904537 to
d992a5c
Compare
d992a5c to
0782b51
Compare
0782b51 to
008e35e
Compare
008e35e to
0cecaa5
Compare
0cecaa5 to
f2c0eb3
Compare
959444e to
8875bcb
Compare
|
|
8875bcb to
3cad513
Compare
Rebased |
102c4f5 to
053a2d6
Compare
Change cherry-picks commit that allows to workaround MPSL flash sync timeout issue. Jira: NCSDK-29354 Jira: DRGN-23363 Signed-off-by: Marek Pieta <[email protected]>
053a2d6 to
4244811
Compare
|
Closing, will udpate SHA in other PR. |
Change cherry-picks commit that allows to workaround MPSL flash sync timeout issue.
Jira: NCSDK-29354
Jira: DRGN-23363